#ifndef __SW_DEMO_SPRITE_H__
#define __SW_DEMO_SPRITE_H__

#include "components/3D/sweety_3D_Engine.h"
#include "components/3D/sweety_3D_Vao.h"
#include "components/3D/sweety_3D_Sprite.h"

namespace SW
{
	class SW_API DemoSprite : public Sprite
	{
	public:
						DemoSprite();
		virtual			~DemoSprite();

		virtual void	Render(const mat4& modelTrans) override;

		bool			GetUseColor() const;
		void			SetUseColor(bool useColor);

		bool			GetUseUV() const;
		void			SetUseUV(bool useUV);

	private:
		void			InitShaders();
		void			LoadTexture();

	private:
		GLuint			m_IsUseColor_SL;
		bool			m_IsUseColor{ false };

		GLuint			m_IsUseUV_SL;
		bool			m_IsUseUV{ false };

		GLuint			m_Transform_SL;

		VaoClass*		m_VaoPtr{ nullptr };
		SwTexture		m_Texture_1;
		SwTexture		m_Texture_2;

		bool			m_IsResetCampos{ false };

		MainProgramObj	m_Shader;
	};
}



#endif